<?php

/**
 * @author Artem
 * 
 * Базовый абстрактный класс для классов ответственных за конфигурацию узлов дерева сайта
 * Содержит следующие actions:
 * 1. load-editor (loadEditor)
 * Получает id или установленные предыдущим контроллером node и nodeConfig 
 * возвращает node
 * json ответ вида {editor: название_класса_редактора, obj: редактируемый объект}
 * 
 * 2. put (REST) 
 * Получает id, сохраняет данные в базу и генерирует HTML код
 * 
 * 3. post (REST)
 * Не используется
 * 
 * 4. delete (REST)
 * Получает id объекта который будет удален.
 * 
 * 5. get (REST)
 * Получает id запрашиваемого объекта, возвращает json объект.
 */
abstract class Nippy_Controller_Config_Abstract extends Zend_Rest_Controller {
	protected $_editorName="";
	
	public function loadEditorAction(){
		$node = $this->getRequest()->getParam('node',null); //previous controller set 'node' param 
		$res = array( 'editor'=>$this->_editorName, 'obj'=>$node);		
		$this->_helper->json ( $res );
	}
	
	public function indexAction() {
		throw new Zend_Exception("indexAction() not implemented ");
	}
	
	public function getAction() {
		throw new Zend_Exception("getAction() not implemented ");
	}
	
	public function postAction(){
		throw new Zend_Exception("postAction() not implemented ");		
	}
	
	public function putAction(){
		throw new Zend_Exception("putAction() not implemented ");
	}
	
	public function deleteAction() {
		throw new Zend_Exception("deleteAction() not implemented ");
	}
}

?>